tg-me.com/php_interview_lib/815
Last Update:
Как PHP обрабатывает арифметические операции со строками, содержащими нецифровые символы, например, «15%» и «$25»?
🔍 Как PHP обрабатывает такие строки
PHP пытается привести строку к числовому значению, начиная с первого символа, который является цифрой. Если строка начинается с цифры, PHP извлекает числовую часть до первого нецифрового символа и игнорирует остальное. Если строка не начинается с цифры, результат приведения будет 0
.
⚠️ Предупреждения в новых версиях PHP
Начиная с PHP 7.1, при попытке выполнить арифметическую операцию с нечисловой строкой PHP генерирует предупреждение:Warning: A non-numeric value encountered in script.php on line X
Это предупреждение помогает выявить потенциальные ошибки в коде, связанные с неявным приведением типов.
✅ Рекомендации
Явное приведение типов: Используйте (int)
или (float)
для явного приведения строки к числовому типу.
Функции intval()
и floatval()
: Эти функции также выполняют приведение строки к числовому типу.
Обработка ошибок: Используйте is_numeric()
для проверки, является ли строка числом перед выполнением арифметических операций.
BY Библиотека собеса по PHP | вопросы с собеседований
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/php_interview_lib/815